package com.mingqijia.gassafety.webserver.request.workorder.asst;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 工单创建
 * @author guoliang.lao
 * date: 2021-04-19
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value="工单创建", description="")
public class WorkOrderCreateRequest {
    /**
     * 报警/故障记录id
     */
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * 处理状态：
     */
    @ApiModelProperty(value = "处理状态：1已处理 2转工单处理")
    private Integer status = 0;

    @ApiModelProperty(value = "处理详情")
    private String appealResult;
    /**
     * 业务类型
     */
    @ApiModelProperty("业务类型: 2：报警处理 3：故障处理 4：一键呼救报警处理 5：水浸报警处理 6：烟雾报警处理  7：门锁报警处理")
    private Integer bizType;

    /**
     * 户号
     */
    @ApiModelProperty("户号")
    private String subsCode;
    /**
     * 联系人
     */
    @ApiModelProperty("联系人")
    private String custName;
    /**
     * 联系电话
     */
    @ApiModelProperty("联系电话")
    private String phone;
    /**
     * 地址
     */
    @ApiModelProperty("地址")
    private String address;
    /**
     * VCC用户ID
     */
    @ApiModelProperty("VCC用户ID")
    private String memberId;
    /**
     * 业务线编码
     */
    @ApiModelProperty("业务线编码")
    private String lineBizCode;
    /**
     * 业务类型编码
     */
    @ApiModelProperty("业务类型编码")
    private String bizCode;
    /**
     * 服务内容编码
     */
    @ApiModelProperty("服务内容编码")
    private String serviceCode;
    /**
     * 预约日期 例:2015-10-02
     */
    @ApiModelProperty("预约日期 例:2015-10-02")
    private String bookDate;
    /**
     * 预约时间 例:08:00-12:00
     */
    @ApiModelProperty("预约时间 例:08:00-12:00")
    private String bookTime;
    /**
     * 班次id
     */
    @ApiModelProperty("班次id")
    private Integer scheduleId;
    /**
     * 班次名称
     */
    @ApiModelProperty("班次名称")
    private String scheduleName;
    /**
     * 用户备注
     */
    @ApiModelProperty("用户备注")
    private String userRemark;
    /**
     * 地址所属经纬度
     */
    @ApiModelProperty("地址所属经纬度")
    private String location;

    /**
     * 地址所属经纬度
     */
    @ApiModelProperty("地址所属经度")
    private String lon;

    /**
     * 地址所属经纬度
     */
    @ApiModelProperty("地址所属经度")
    private String lat;

    /**
     * 设备类型（1-SOS报警器，2-水浸报警器，3-烟雾报警器，4-智能门锁）
     */
    @ApiModelProperty("设备类型: 1-SOS报警器，2-水浸报警器，3-烟雾报警器，4-智能门锁")
    @NotNull(message = "设备类型不能为空")
    private Integer deviceType;

    @ApiModelProperty("设备序列号")
    @NotBlank(message = "设备序列号不能为空")
    private String imei;

    @ApiModelProperty("报警开始时间")
    @NotBlank(message = "报警开始时间不能为空")
    private String alarmTime;

    @ApiModelProperty("报警结束时间")
    private String  alarmEndTime;

    @ApiModelProperty("设备名称")
    private String  deviceName;

    @ApiModelProperty("报警类型 1-SOS、2-烟雾报警、3-烟雾防拆报警、4-漏水报警、5-水浸防拆报警、6-门锁防拆报警、7-门锁密码连续输错5次")
    private Integer  alarmType;
    @ApiModelProperty("SOS报警次数（30分钟）")
    private Integer  alarmCount;

    @ApiModelProperty("安装位置")
    private String installPosition;

    private String spId;
}
